4. Archivos de configuración OpenSSH
[root@localhost ~]# cd .ssh/
[root@localhost .ssh]# ls
known_hosts
[root@localhost .ssh]# less known_hosts
serdis.dis.ulpgc.es,193.145.147.54 ssh-dss AAAAB3NzaC1kc3MAAACBAJlMtCEDUdfR4GqZAR7Iw07qsuTkB5eS5/vFuciLOYraFGIaLHeG3uZWXA0WBaUYtNEBrc/TrBmi4jRv3dhU7e79cxYIEuJMGInVlEsSRl7eRKmy97GPUnYMA54y7dlB8DhyI8n01Vz3yGKniX7rrb8m36rtPNpQsDvFaY5gZU6/AAAAFQC0c4i5QR+B5H9LLs8/uZCCx31lvwAAAIEAkEe04FNS+TITDEUjBIi+4ADVMzJ1XGqgFitQh/ZmO1b2lYuvs5mJRzqBaS2SUVP+PPoe/vSiMfsALD7rSv4fk+Y8W0DnUf+Ddap40G8sibRhly4EIs6mrUqtNlpsSS6LEzrC07S1dY47+eiBcKxdhIfwceYFCda+CJuoqZ/NOb8AAACAdZz5EGhpnrXCr3ssRbFyCdxdefI3JcEk7sYT7nuDrlnrDuqO6n66mXVqmfnHIRFxPDqp4fni74PF1oXUZtJtLd+Dq4YfDvhrs+GZ7ABbcw8/DnBXhY+oRbBWfH/hVQ9EFR2dopeh05CwPKP7jUNTTERlVv+RWHDz9AYSMVfdfZA=
5. Más que un Shell seguro
Con un ancho de banda apropiado las sesiones X11 se pueden dirigir por un canal SSH
Con reenvío TCP/IP se pueden asignar conexiones de puerto entre sistemas que previamente eran inseguras a canales SSH específicos
5.1. Reenvío por X11
Para abrir una sesión X11 por medio de una conexión SSH basta ejecutar un programa X en una máquina local
Ejemplo:
Crear una sesión segura e interactiva con up2date:
ssh sistema_remoto
up2date &
5.2. Reenvío del puerto
Permite asegurar los protocolos TCP/IP a través del reenvío de puertos.
Funciona mediante el mapeado de un puerto local en el cliente a un puerto remoto del servidor
Creación de un canal de reenvío de puerto TCP/IP que escucha conexiones del host local:
ssh -L local-port:remote-hostname:remote-port username@hostname
5.2. Reenvío del puerto
Comprobar el correo del servidor usando POP a través de una conexión encriptada:
ssh -L 1100:mail.example.com:110 mail.example.com
Una vez que el canal de reenvío de puerto está entre la máquina cliente y el servidor de correo, puede direccionar su cliente de correo POP para usar el puerto 1100 en su host local para comprobar el nuevo correo. Cualquier petición enviada al puerto 1100 en el sistema cliente será dirigida de manera segura al servidor mail.example.com
mail.example.com
110
cliente
1100
5.2. Reenvío del puerto
Si mail.example.com no está ejecutando un servidor SSH, pero la otra máquina en la misma red si:
ssh -L 1100:mail.example.com:110 other.example.com
En este ejemplo, se está reenviando su petición POP desde el puerto 1100 en la máquina cliente a través de una conexión SSH en el puerto 22 al servidor SSH, other.example.com. Luego, other.example.com se conecta al puerto 110 en mail.example.com para verificar nuevo correo. Observe que usando esta técnica, sólo la conexión entre el sistema cliente y el servidor SSH other.example.com es segura
mail.example.com
ssh (22)
cliente
1100
other.example.com
110
5.2. Reenvío del puerto
El reenvío del puerto se puede usar para obtener información segura a través de los firewalls de red. Si el firewall está configurado para permitir el tráfico SSH a través del puerto estándar (22) pero bloquea el acceso a través de otros puertos, es posible todavía una conexión entre dos hosts usando los puertos bloqueados al redireccionar la comunicación sobre una conexión SSH establecida.
El uso del reenvío de puerto permite a cualquier usuario en el sistema cliente conectarse a ese servicio. Un agresor puede también acceder los servicios reenviados. Los administradores del sistema pueden deshabilitar esta funcionalidad en el servidor especificando No para la línea AllowTcpForwarding en /etc/ssh/sshd_config y reiniciando el servicio sshd.
6. Requerir SSH para conexiones remotas
El uso de todos los protocolos de conexión inseguros deben ser prohibidos
Servicios a deshabilitar:
telnet
rsh
ftp
rlogin
vsftpd
Desactivar métodos de conexión inseguros: chkconfig o ntsysv
OpenSSH
Implementación gratuita y de código libre de los protocolos SSH
Soporta las versiones 1.3, 1.5 y 2 del protocolo SSH
Automáticamente reenvía la variable DISPLAY a la máquina cliente
Configurar un servidor OpenSSH
Paquetes openssh-server y openssh.
Archivo de configuración /etc/ssh/sshd_config
Inicio y parada del servicio OpenSSH:
/sbin/service sshd start
/sbin/service sshd stop
Problemas de reinstalación
Tras una reinstalación, aparecerá a los clientes el siguiente mensaje:
Mantenimiento de las claves de host generadas para el sistema:
/etc/ssh/ssh_host_key
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
Configuración de cliente OpenSSHUso del comando ssh
Conexión a una máquina remota:
ssh ejemplo.servidor.es
Conexión a una máquina remota con otro usuario:
ssh usuario@ejemplo.servidor.es
Ejecutar un comando en la máquina remota:
ssh ejemplo.servidor.es comando
ssh serdis.dis.ulpgc.es ls ./
Configuración de cliente OpenSSHUso del comando scp
Permite transmitir ficheros entre máquinas sobre una conexión encriptada y segura
Transferir un archivo local a un sistema remoto:
scp archivo_local usuario@servidor:/archivo_remoto
Transferir un archivo remoto a un sistema local:
scp usuario@servidor:/archivo_remoto /archivo_loal
Especificar múltiples archivos
scp /dir_local/* usuario@servidor:/dir_remoto/
Configuración de cliente OpenSSHUso del comando sftp
Permite abrir una conexión segura interactiva de FTP
Sintaxis general
sftp usuario@ejemplo.sevidor.es
Sólo disponible a partir de la versión 2.5.0p1 de OpenSSH
Configuración de cliente OpenSSHGenerar pares de claves RSA v2
Sirve para no tener que introducir la contraseña cada vez que se conecte a una máquina remota
Pasos para cada usuario:
Generar un par de claves RSA para trabajar con la versión 2 del protocolo:
ssh-keygen t rsa
Aceptar la localización por defecto del archivo ~/.ssh/id_rsa
Introducir un password distinto a la contraseña de la cuenta.
La clave pública se escribe en ~/.ssh/id_rsa.pub
La clave privada se haya en ~/.ssh/id_rsa
Cambiar los permisos del directorio .ssh:
chmod 755 ~/.ssh
Copiar el contenido de ~/.ssh/id_rsa.pub a ~/.ssh/authorized_keys en la máquina en la que se quiere conectar. Si el archivo no existe, se puede copiar el archivo ~/.ssh/id_rsa_pub en el archivo ~/.ssh/authorized_keys en la otra máquina
Configuración de cliente OpenSSHGenerar pares de claves DSA v2
Para generar un par de claves DSA, se escribe el siguiente comando:
ssh-keygen -t dsa
Aceptar la localización por defecto del archivo ~/.ssh/id_dsa
Introducir una palabra de paso diferente a la contraseña de la cuenta y confirmarla introduciéndola de nuevo
La clave pública es escrita en ~/.ssh/id_dsa.pub
La clave privada es escrita a ~/.ssh/ id_dsa
Cambiar los permisos del directorio .ssh usando el comando
chmod 755 ~/.ssh
Copiar el contenido de ~/.ssh/id_dsa.pub a ~/.ssh/authorized_keys en la máquina en la cual quiere conectarse. Si el archivo ~/.ssh/authorized_keys no existe, puede copiar el archivo ~/.ssh/id_dsa.pub al archivo ~/.ssh/authorized_keys en la otra máquina.
Configuración de cliente OpenSSHPares de claves RSA v1.3 y v1.5
Para generar un par de claves RSA se escribe el comando siguiente:
ssh-keygen -t rsa1
Aceptar la localización por defecto del archivo ~/.ssh/identity
Introducir una palabra de paso diferente a la contraseña de la cuenta y confirmarla introduciéndola de nuevo
La clave pública está escrita en ~/.ssh/identity.pub
La clave privada está escrita en ~/. ssh/identity
Cambiar los permisos del directorio .ssh y la clave con los comandos
chmod 755 ~/.ssh
chmod 644 ~/.ssh/identity.pub
Copiar los contenidos de ~/.ssh/identity.pub al archivo ~/.ssh/authorized_keys en la máquina a la cual se desea conectar. Si el archivo ~/.ssh/authorized_keys no existe, se puede copiarlo desde ~/.ssh/identity.pub al archivo ~/.ssh/authorized_keys en el equipo remoto.
Página anterior | Volver al principio del trabajo | Página siguiente |